/*
 *接口编写处...
*如果接口需要做Action的权限验证，请在Action上使用属性
*如: [ApiActionPermission("Aps_SalesOrder",Enums.ActionPermissionOptions.Search)]
 */
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using DGZImp.ApsProject.DomainModels;
using DGZImp.ApsProject.IServices;
using DGZImp.ApsProject.Dtos;
using DGZImp.Core.Utilities.Response;

namespace DGZImp.ApsProject.Controllers
{
    public partial class Aps_SalesOrderController
    {
        private readonly IAps_SalesOrderService _service;//访问业务代码
        private readonly IHttpContextAccessor _httpContextAccessor;

        [ActivatorUtilitiesConstructor]
        public Aps_SalesOrderController(
            IAps_SalesOrderService service,
            IHttpContextAccessor httpContextAccessor
        )
        : base(service)
        {
            _service = service;
            _httpContextAccessor = httpContextAccessor;
        }

        /// <summary>
        /// 获取订单排产进度列表
        /// </summary>
        /// <param name="inDto"></param>
        /// <returns></returns>
        [HttpPost("GetProgressPages")]
        public async Task<ApiResponse<ApsProgressOutDto>> GetProgressPages([FromBody] ApsProgressInDto inDto)
        {
            var r = await _service.GetProgressPages(inDto);
            return ApiRes.Success(r);
        }

        /// <summary>
        /// 获取订单详情
        /// </summary>
        /// <param name="groupId"></param>
        /// <param name="orderId"></param>
        /// <returns></returns>
        [HttpGet("GetDetailPage")]
        public async Task<ApiResponse<List<OrderDetail>>> GetDetailPage(string groupName, string orderId)
        {
            var r = await _service.GetOrderDetail(groupName, orderId);
            return ApiRes.Success(r);
        }
    }
}
